home *** CD-ROM | disk | FTP | other *** search
/ Floppyshop 2 / Floppyshop - 2.zip / Floppyshop - 2.iso / art&graf.ix / art-4542 / morph / morph.doc < prev    next >
Text File  |  1994-05-06  |  7KB  |  181 lines

  1.                      ________________________________
  2.                     /                                \
  3.                    |  morphMorphMOrphMORphMORPhMORPH  |
  4.                     \________________________________/
  5.                       =============    =============
  6.                       _____________ BY ____________
  7.                      /                             \
  8.                     |  The Butter-Fingered Juggler  |
  9.                      \_____________________________/
  10.                        ===========================
  11.  
  12.  
  13.  
  14. Have you ever marvelled at the special effects in Terminator 2 ? Or the
  15. ads on television where a car changes into a horse ? These are examples of 
  16. an animation technique called Morphing.
  17.  
  18.  
  19. QUICKSTART
  20. ==========
  21.  
  22. The basic idea behind morphing is that points on one image are moved to 
  23. corresponding points on another image. This program loads 2 Degas format 
  24. pictures and displays a mesh of points over each image.
  25.  
  26. The points can moved about using the mouse. When the left mouse button is 
  27. pressed, the nearest point to the mouse will be moved to the mouse 
  28. position. The point can be dragged around as long as the button is held 
  29. down. 
  30.  
  31. The corresponding point on the other image will be highlighted. Once the 
  32. points have been arranged to your own personal tastes, press M to start 
  33. the morphing process. Enter the number of frames - 20 will fit on one disk 
  34. and give reasonably smooth effects. 
  35.  
  36. The program generates Degas format screens from FRAME001 to the number of 
  37. frames entered. These can then be taken into an animation package (such as 
  38. ANIMTOOL by Thrax), an art package or a slideshow for displaying.
  39.  
  40.  
  41. DETAILED GUIDE
  42. ==============
  43.  
  44. The quickstart will produce morphs, but better results can be obtained 
  45. using the other parts of the program. The functions of the keys
  46. are listed below.
  47.  
  48.     F1 - Displays both images on screen to allow you to match points when 
  49.          editing.
  50.  
  51.     F2 - Displays the first image as a full screen picture. This allows 
  52.          for fine postioning of the mesh points.
  53.  
  54.     F3 - Displays the second image for detailed editing.
  55.  
  56.     F4 - Increases the colour of the mesh. Changing the colour of the mesh 
  57.          will allow you to see it more clearly particularly if the mesh
  58.          is the same colour as the image where you are editing.
  59.  
  60.     F5 - Decreases the colour of the mesh.
  61.  
  62.     M  - Start the morphing process. Enter the number of frames to 
  63.          generate between the start and end images.
  64.  
  65.     W  - Change the width of the mesh. A finer mesh will make a smoother 
  66.          animation, but it is more difficult to position the 
  67.          correspondence points unless the images are similar.
  68.          WARNING - This will destroy the current mesh.
  69.  
  70.     S  - Save the current mesh information. The meshes are saved as
  71.          using the names of the images. I would recommend saving regularly 
  72.          particularly if you are working on a fine mesh in case you make
  73.          a mess of it.
  74.  
  75.     L  - Load saved meshes. This will load a new mesh for both screens.
  76.  
  77.     HELP - will show the above information.
  78.  
  79.     ESC - To quit from the program
  80.  
  81.  
  82. HINTS ON USE
  83. ============
  84.  
  85. The quality of the morph depends on the positioning of the mesh points. If 
  86. a particular area of the images is not morphing very well, try moving the 
  87. mesh points to different areas. Detailed areas should have more mesh
  88. points in them than less detailed areas. Avoid crossing mesh points.
  89.  
  90. If you have a mesh 'square' at the same point on both images then
  91. you will only get a cross fade between them. It is better to move the
  92. points on one of the meshes as this will produce some movement which
  93. will help to conceal the cross fading.
  94.  
  95. For best results use similar images drawn from the same view point. For 
  96. example a girl's face and an old lady's face. 
  97.  
  98. The more frames you generate, the smoother the animation will be. A normal 
  99. disk should be able to hold 20 frames + the start and end frames.
  100.  
  101. For more detailed work you may find it better to keep flipping from screen 
  102. 1 to screen 2 using F2 / F3 instead of displaying both images on screen 
  103. simultaneously.
  104.  
  105. It is possible to morph between 2 dissimilar images but this requires much 
  106. more time and patience. One method of doing this is to do a crude morph of 
  107. 3 or 4 frames using large mesh. Take the resulting images into an art 
  108. package and tidy them up (using a large amount of artistic licence !).
  109. Use each of the intermediate images as the start and end frames in the
  110. morph and do a fine morph between each set.
  111.  
  112.  
  113. REGISTRATION
  114. ============
  115.  
  116. This program is shareware. You are free to copy this program, provided 
  117. that the documentation accompanies it. If you enjoy using it you can 
  118. register it by either sending some interesting pictures and their meshes, 
  119. or by sending me 5 pounds ( or if you're feeling generous then send both !)
  120.  
  121. I'd like to get together a collection of the best morphs to send to
  122. registered users. Registered users will also get version 2 sent to them
  123. when it is available. This will contain any bug fixes and any reasonable
  124. request for changes.
  125.  
  126. Changes currently being considered include different methods of fading 
  127. between the frames and colour morphing between different palettes.
  128. At the moment the palette is taken from the second image loaded.
  129.  
  130. Please send any donations to
  131.  
  132.       Karl Manning
  133.       206 Foundry Lane
  134.       Shirley
  135.       Southampton
  136.       Hants
  137.       SO1 3JX
  138.  
  139.  
  140. ABOUT MORPH
  141. ===========
  142.  
  143. This program was inspired by an article in Dr Dobb's Journal #202 July 
  144. 1993 ( its an American progammer's magazine which my local newsagent has 
  145. suddenly decided to stock.)
  146.  
  147. That had a couple of articles on graphics in general and included a 
  148. complete source listing of a morph algorithm as used by Industrial Light 
  149. and Magic - one of the best computer animation companies.
  150.  
  151. The listing was in 'C' and with a few "minor" changes (like adding in 2 
  152. subroutines they had missed out !) I got it to compile. I decided to write 
  153. the mesh editor in assembler simply because I'm a lousy C programmer !
  154.  
  155. The editor worked fine, but I couldn't generate files in the format 
  156. required by the C program. ( It uses some of the 'sloppiness' of C
  157. to load everything, and required that all mesh coords be floating
  158. point - why when a screen is by definition integer coords ?)
  159.  
  160. I gave up trying to interface the two programs and instead converted
  161. ( a very laborious process ) the C listing into assembler. However when
  162. it came to debugging I failed because I couldn't understand what the
  163. algorithm was supposed to be doing. I mean what exactly is a CatMullRom
  164. spline ? ( No I don't really want to know ! )
  165.  
  166. In the end I wrote the morphing section from scratch and several debugging 
  167. cycles later it worked.
  168.  
  169. The source codes for this are available for a fee of 5 pounds - this
  170. includes the original C program as listed in the magazine, my attempt
  171. at writing it in assembler and the final version.
  172.  
  173. I make no claims about the software as written other than it seems to work.
  174. That said, it seems to work ok for me !
  175.  
  176. Enjoy !
  177.  
  178. 1/2/94
  179.  
  180. Karl Manning, The Butter-Fingered Juggler
  181.